var md5Util = require("utils/md5.js")
const signKey = "+EE7a1c5bc548e542GBFc340c531657F4";

// const API_URL = "https://llwant.qianz.com";

var mToken = ""
var mPlayerID = ""

//////////////////////////////////////////////
// 1、微信授权登录登录服务器
//////////////////////////////////////////////
function weixinLogin(callback , imageName) {
  if (!callback) {
    console.error("--------weixinLogin callback null");
    return;
  }
  localStorage.setItem("imageName", imageName)
  wx.login({
    success: res => {
      if (res.code) {
        console.error("---------------res.code:" + res.code)

        var code = res.code;
        localStorage.setItem("code", code)
        callback(true, res)

        wx.getSetting({
          success: function (res) {
            if (res.authSetting['scope.userInfo']) {
              // 已经授权，可以直接调用 getUserInfo 获取头像昵称
              wx.getUserInfo({
                success: function (res) {
                  // console.log("------2222----getUserInfo res encryptedData:" + res.encryptedData);
                  // console.log("------2222----getUserInfo res iv:" + res.iv);
                  // console.log("------2222----getUserInfo res rawData:" + res.rawData);
                  // console.log("------2222----getUserInfo res signature:" + res.signature);
                  // console.log("------2222----getUserInfo res userInfo:" + res.userInfo);
                  localStorage.setItem("nickName", res.userInfo.nickName) //昵称
                  localStorage.setItem("avatarUrl", res.userInfo.avatarUrl) //头像
                  localStorage.setItem("gender", res.userInfo.gender) //性别
                }
              })
            } else {
              wx.authorize({
                scope: 'scope.userInfo',
                success: function (res) {
                  wx.getUserInfo({
                    success: function (res) {
                      // console.log("------2222----getUserInfo res encryptedData:" + res.encryptedData);
                      // console.log("------2222----getUserInfo res iv:" + res.iv);
                      // console.log("------2222----getUserInfo res rawData:" + res.rawData);
                      // console.log("------2222----getUserInfo res signature:" + res.signature);
                      // console.log("------2222----getUserInfo res userInfo:" + res.userInfo);
                      localStorage.setItem("nickName", res.userInfo.nickName) //昵称
                      localStorage.setItem("avatarUrl", res.userInfo.avatarUrl) //头像
                      localStorage.setItem("gender", res.userInfo.gender) //性别
                    }
                  })
                }
              })
            }
          }
        })

        // 获取用户信息
        //   wx.getSetting({
        //     success: res => {

        //       console.error("---------------res.code:" + JSON.stringify(res.authSetting))

        //       if (res.authSetting['scope.userInfo']) {
        //         // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
        //         getUserInfo(code, callback);
        //       } else {
        //         wx.authorize({
        //           scope: 'scope.userInfo',
        //           success: () => {
        //             getUserInfo(code, callback);
        //           }
        //         })

        //         console.log('----------微信授权失败！' + res.errMsg)
        //         callback(false, res)
        //       }
        //     }
        //   })
        // } else {
        //   console.log('----------微信登录态失败！' + res.errMsg)
        //   callback(false, res)
      }
    }
  })
}

// function getUserInfo(code, callback) {
//   wx.getUserInfo({
//     success: res => {
//       // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
//       // 所以此处加入 callback 以防止这种情况
//       if (this.userInfoReadyCallback) {
//         this.userInfoReadyCallback(res)
//       }

//       //发起网络请求
//       var encryptedData = res.encryptedData; //encodeURIComponent(res.encryptedData);//一定要把加密串转成URI编码
//       var rawData = res.rawData;
//       var signature = res.signature;
//       var iv = res.iv;

//       console.log("------2222----getUserInfo res encryptedData:" + res.encryptedData);
//       console.log("------2222----getUserInfo res iv:" + res.iv);
//       console.log("------2222----getUserInfo res rawData:" + res.rawData);
//       console.log("------2222----getUserInfo res signature:" + res.signature);
//       console.log("------2222----getUserInfo res userInfo:" + res.userInfo);

//       loginServer(code, rawData, signature, iv, encryptedData, callback);
//     }
//   })
// }

//////////////////////////////////////////////
// 2、登录服务器
// code      : 微信返回参数，服务器可用来获取sessionKey和openid
// rawData   : 微信返回参数
// signature : 微信返回参数
// iv        : 微信返回参数
// encryptedData
//////////////////////////////////////////////
// function loginServer(code, rawData, signature, iv, encryptedData, callback) {
//   if (!callback) {
//     console.error("--------loginServer callback null");
//     return;
//   }

//   // 生成签名
//   var tmpSignStr = code + '+' + rawData + '+' + signature + '+' + iv + signKey;
//   var sign = md5Util.md5(tmpSignStr);
//   var loginUrl = API_URL + "/login?sign=" + sign;

//   console.log("-------------loginServer loginUrl:" + loginUrl)

//   //请求服务器登录
//   wx.showToast({
//     title: '正在登录...',
//     icon: 'loading',
//     duration: 10000
//   });

//   wx.request({
//     url: loginUrl,

//     data: {
//       jscode: code,
//       rawdata: rawData,
//       signature: signature,
//       iv: iv,
//       encrypteddata: encryptedData
//     },

//     method: 'POST',
//     header: {
//       'content-type': 'application/json'
//     },

//     success: function (res) {
//       wx.hideToast();

//       console.log('------------loginServer--服务器返回1 res.statusCode:' + res.statusCode);
//       console.log('------------loginServer--服务器返回2 res.data.msg:' + res.data.msg);
//       console.log('------------loginServer--服务器返回3 res.data.result:' + res.data.result);
//       console.log('------------loginServer--服务器返回4 res.data.token:' + res.data.data.token);
//       console.log('------------loginServer--服务器返回5 res.data.playerid:' + res.data.data.playerid);

//       mToken = res.data.data.token
//       mPlayerID = res.data.data.playerid

//       callback(true, res)
//     },

//     fail: function () {
//       wx.hideToast();
//       callback(false)
//     },
//   })
// }

//////////////////////////////////////////////
// 3、上传分数
// distance  : 距离
// hitCount  : 碰撞数量
// score     : 分数
//////////////////////////////////////////////
// function uploadScore(distance, hitCount, score, callback) {
//   if (!callback) {
//     console.error("--------uploadScore callback null");
//     return;
//   }

//   // 生成签名
//   var tSignStr = mPlayerID + '+' + distance + '+' + hitCount + '+' + score + signKey;
//   var sign = md5Util.md5(tSignStr);

//   var scoreUrl = API_URL + "/reportscore?token=" + mToken + "&sign=" + sign;

//   console.log("-------------scoreUrl:" + scoreUrl)

//   // 上传分数
//   wx.showToast({
//     title: '正在上传分数...',
//     icon: 'loading',
//     duration: 10000
//   });

//   wx.request({
//     url: scoreUrl,

//     data: {
//       distance: distance,
//       hitCount: hitCount,
//       score: score
//     },

//     method: 'POST',
//     header: {
//       'content-type': 'application/json'
//     },

//     success: function (res) {
//       wx.hideToast();

//       console.log('------------uploadScore--服务器返回1 res.statusCode:' + res.statusCode);
//       console.log('------------uploadScore--服务器返回2 res.data.msg:' + res.data.msg);
//       console.log('------------uploadScore--服务器返回3 res.data.result:' + res.data.result);

//       callback(true, res);
//     },

//     fail: function () {
//       wx.hideToast();
//       callback(false)
//     }
//   })
// }

//////////////////////////////////////////////
// 4、拉取排行榜
// tType ： 请求排名类型 0 全部 1 小排名
// callback : 回调函数
//////////////////////////////////////////////
// function getRankList(tType, callback) {
//   if (!callback) {
//     console.error("--------getRankList callback null");
//     return;
//   }

//   if (!tType) {
//     tType = 0;
//   };

//   // 生成签名
//   var tSignStr = mPlayerID + '+' + tType + signKey;
//   var sign = md5Util.md5(tSignStr);

//   var rankListUrl = API_URL + "/getranking?token=" + mToken + "&type=" + tType + "&sign=" + sign;

//   console.log("-------------rankListUrl :" + rankListUrl)

//   // 请求服务器拉取排行榜
//   wx.showToast({
//     title: '正在拉取排行榜...',
//     icon: 'loading',
//     duration: 10000
//   });

//   wx.request({
//     url: rankListUrl,
//     data: "",
//     method: 'POST',
//     header: {
//       'content-type': 'application/json'
//     },

//     success: function (res) {
//       wx.hideToast();

//       console.log('------------getRankList--服务器返回1 res.statusCode:' + res.statusCode);
//       console.log('------------getRankList--服务器返回2 res.data:' + JSON.stringify(res.data));
//       console.log('------------getRankList--服务器返回3 res.data.result:' + res.data.result);

//       callback(true, res);
//     },

//     fail: function () {
//       wx.hideToast();
//       callback(false);
//     }
//   })
// }

module.exports = {
  weixinLogin: weixinLogin,
  // loginServer: loginServer,
  // uploadScore: uploadScore,
  // getRankList: getRankList
}

